<?php
/**
 * @file t2nc.php
 * @package taoaoke
 * @subpackage 
 * @version $id: 0.1 UTF-8 2009-7-24 上午12:00:32 $
 * @author LD King (mifunny.info)
 * @copyright Copyright (c) 2007 - 2009 MiFunny China Inc. (http://mifunny.info)
 */
header("Content-Type:text/html;charset=UTF-8");
$session = trim($_GET['top_session']);

require_once 'lib/functions.php';
$mysql = new tbkDB();

$iSubmit = $_POST['iSubmit'];
if ($iSubmit == "提交规则"){
	$iRule = $_POST['iRule'];  //规则ID
	$iCat = $_POST['iCat'];  //分类ID
	$iKey = $_POST['iKey'];  //关键字，用','号分隔
	if (empty($iCat) and empty($iKey))
		echo "<script type=\"text/javascript\">alert('更新规则时,分类、关键字两者至少输入其一! + {$iSubmit}');</script>";		
	
	if (!empty($iCat)){ //更新分类
		$mysql->inRuleCat($iRule,$iCat);
	}
		
	if (!empty($iKey)){ //更新关键字
		$keys = preg_split('/,|，/', $iKey,  -1, PREG_SPLIT_NO_EMPTY);
		$keys = array_unique($keys);
		//var_dump($keys);
		foreach ($keys as $key){
			$mysql->inRuleTag($iRule, trim($key));
		}
	}
	
	$iMsg = "<span style=\"color:green;\">规则已更新!</span>";
}elseif ($iSubmit == "更新所有规则"){
	refurbishRules();
	//更新所有规则
	$iMsg = "<span style=\"color:green;\">已更新所有规则!</span>";
}

?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="zh-CN">
<head profile="http://gmpg.org/xfn/11">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name="robots" content="noindex,nofollow" />
<title>TBK商品信息采集 | 7heart.com</title>
<script type="text/javascript" src="http://www.google.com/jsapi"></script>
<script type="text/javascript">google.load("jquery", "1.3.2");</script>
<style type="text/css"> 
<!-- 
body  {
	font: 100% ;
	background: #666666;
	margin: 0; /* 最好将 body 元素的边距和填充设置为 0 以覆盖不同的浏览器默认值 */
	padding: 0;
	text-align: center; /* 在 IE 5* 浏览器中，这会将容器居中。文本随后将在 #container 选择器中设置为默认左对齐 */
	color: #000000;
}
.twoColLiqRtHdr #container { 
	width: 80%;  /* 这将创建一个占据 80% 浏览器宽度的容器 */
	background: #FFFFFF;
	margin: 0 auto; /* 自动边距（与宽度一起）会将页面居中 */
	border: 1px solid #000000;
	text-align: left; /* 这将覆盖 body 元素上的“text-align: center”。 */
} 
.twoColLiqRtHdr #header { 
	background: #DDDDDD; 
	padding: 0 10px;  /* 此填充会将出现在它后面的 div 中的元素左对齐。如果 #header 中使用的是图像（而不是文本），您最好删除填充。 */
} 
.twoColLiqRtHdr #header h1 {
	margin: 0;
	padding: 10px 0; /* 使用填充而不使用边距将可以使元素远离 div 的边缘 */
}
.twoColLiqRtHdr #sidebar {
	float: right; /* 由于此元素是浮动的，因此必须指定宽度 */
	width: 40%; 
	border-left: 2px #69C dashed;
	background: #EBEBEB; /* 将显示背景色，其宽度等于栏中内容的长度，*/
	padding-top: 15px 0; /* 顶部和底部的填充将在该 div 中产生视觉空间 */
}
.twoColLiqRtHdr #sidebar h3, .twoColLiqRtHdr #sidebar p {
	margin-left: 10px; /* 对于将要放在侧栏中的每个元素，都应当设置左边距和右边距 */
	margin-right: 10px;
}
.twoColLiqRtHdr #mainContent { 
	margin: 0 26% 0 10px; /* 左边距应当反映标题和脚注上的边距以便正确对齐。 */
} 

.twoColLiqRtHdr #footer { 
	padding: 0 10px; /* 此填充会将它上面 div 中的所有元素左对齐。 */
	background:#DDDDDD; 
} 
.twoColLiqRtHdr #footer p {
	margin: 0; /* 将脚注中第一个元素的边距设置为零将避免出现可能的边距重叠（即 div 之间出现的空白）*/
	padding: 10px 0; /* 就像边距会产生空白一样，此元素上的填充也将产生空白，但不会出现边距重叠问题 */
}
.fltrt { /* 此类可用来使页面中的元素向右浮动。浮动元素必须位于页面上要与之相邻的元素之前。 */
	float: right;
	margin-left: 8px;
}
.fltlft { /* 此类可用来使页面上的元素向左浮动。浮动元素必须位于页面上要与之相邻的元素之前。 */
	float: left;
	margin-right: 8px;
}
.clearfloat { /* 此类应当放在 div 或 break 元素上，而且该元素应当是完全包含浮动的容器关闭之前的最后一个元素 */
	clear:both;
    height:0;
    font-size: 1px;
    line-height: 0px;
}
#iRenew { border-bottom: 2px #390 dotted; margin: auto 2px 5px 2px; }
.optionCat { color: mediumvioletred; background-color: #FFFFFF; border: 1px;}
.optionKey { color: green;background-color: #FFFFFF;border: 1px;}
hr{width: 60%;align: left;border: 0;border-bottom: 1px dotted royalblue;}
#messageWindow {height: 210px;padding: 5px;overflow: auto;}
#loading{width:80px;height: 20px;background:#ccffcc;color:#000;display:none;}
.H{color:#FF8000;}
--> 
</style><!--[if IE]>
<style type="text/css"> 
/* 请将所有版本的 IE 的 css 修复放在这个条件注释中 */
.twoColLiqRtHdr #sidebar1 { padding-top: 30px; }
.twoColLiqRtHdr #mainContent { zoom: 1; padding-top: 15px; }
/* 上面的专用 zoom 属性为 IE 提供避免错误所需的 hasLayout */
</style>
<![endif]-->
<script type="text/javascript">
<!--
function MM_jumpMenu(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}
//-->
</script>
</head>
<body class="twoColLiqRtHdr">
<div id="container">
  <div id="header">
<h1>TBK商品信息采集 — 7heart.com</h1>
  <!-- end #header --></div>
<div id="sidebar">
<p><a href="http://container.open.taobao.com/container?appkey=12001409">Open平台入口</a> &nbsp; | &nbsp; 
	<a href="t2ps.php">发布入口</a> &nbsp; | &nbsp; 
	<?php // echo "http://".$_SERVER ['HTTP_HOST'].$_SERVER['PHP_SELF']; 
		?>
	<script type="text/javascript">document.write("<a href=\""+window.location.href+"\">TBK商品信息采集</a>");</script>
</p>
<div id="iRenew"><h3>定义规则</h3>
    <form id="formRenew" name="formRwnew" method="post" action="t2nc.php">
    <p>规则:&nbsp;&nbsp; 
    	<select name="iRule" id="iRule">
    	</select>
    </p>
    <p>淘宝分类: 
        <select name="iCat" id="iCat">
    		<option value="">不限分类</option>
    	</select>
     </p>
     <p>关键字: &nbsp;
     	<input name="iKey" type="text" value="" size="45" />
     </p>
     <p>
     	<input name="iSubmit" type="submit" value="提交规则" />
     	&nbsp;&nbsp;&nbsp;&nbsp;
     	<input name="iSubmit" type="submit" value="更新所有规则" />
     	<?php echo '&nbsp;&nbsp;'.$iMsg; ?>
     </p>   
   </form>
</div>
    
  <div id="iList">
<h3>更新列表</h3>
	<div id="loading">加载中...</div>
	<div id="messageWindow"></div>
 </div>
    
<!-- end #sidebar1 --></div>
  <div id="mainContent">
<h2> 更新规则 </h2>
    <form id="formRule" name="formRule" method="post" action="#">

     <p><select name="rule" id="rule">
      	<option value="0" selected="selected">自定义规则</option>
      </select>
      - <span>R</span></p>
     
     <p>分类: &nbsp;&nbsp;
     <select name="cid" id="cid">
      </select>
      - <span class="optionCat">C</span></p>
      <p>关键字: &nbsp;&nbsp;<input name="keyword" id="keyword" type="text" value="" size="25" />
       - <span class="optionKey">K</span></p>
    
      <p>
      	<span>排序方式: <select name="sort" id="sort">
    		<option value="same" selected="selected">同时</option>
            <option value="default">默认</option>
            <option value="credit_desc">信用</option>
    	</select></span>
        &nbsp;&nbsp;
      	<span>查询条数: <input name="page_size" id="page_size" type="text" value="35" size="4" /></span>
      </p>
      <hr />
      <p>	
        &nbsp;&nbsp;&nbsp;&nbsp;
      	<input name="submit" type="submit" value="提交查询" />
        &nbsp;&nbsp;
        (<span style="color:sandybrown;">当排序为"同时",查询两次</span>)
      </p>
      
    </form>
<p>&nbsp;</p><hr /><p>&nbsp;</p>
<p style="color:sandybrown;">(注意: 长时间更新,容易造成数据阻塞！ 使用此功能前请三思！)</p>
<p><button type="submit" id="iCollection">采集该规则的全部组合</button></p>
<hr />
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
	<button type="submit" id="iCoKeys">采集所有关键字组合</button></p>
    
	<!-- end #mainContent --></div>
<br class="clearfloat" />
  <div id="footer">
<p>版权所有: <a href="http://www.7heart.com">www.7heart.com</a> &nbsp;&nbsp;&nbsp;&nbsp; 维护: <a href="http://mifunny.info/">LD</a></p>
  <!-- end #footer --></div>
<!-- end #container --></div>

<script type="text/javascript">
var ses = '<?php echo $session ?>';
<?php echo "var data=".json_encode($mysql->getRuleInfo()).';';
?>
$(document).ready(function(){
	
	var htmlCats = "";
	$.each(data,function(i,n){
		$.each(n['cats'], function(j,m){
			htmlCats += "<option value=\""+m['cid']+"\" class=\"optionCat\">"+m['name']+'('+n['rid']+")</option>";
		});
	});
	$("#iCat").append(htmlCats);

	var cats = $('#iCat').clone();
	$("#cid").append(cats.html());
	// 克隆所有taobao分类
	var keys = $("#keyword").clone();

	var htmlRule = "";
	$.each(data, function(i,n){
		htmlRule += "<option value=\""+n['rid']+"\">("+n['rid']+')'+n['name']+"</option>";
	});
	$("#rule").append(htmlRule);
	$("#iRule").append(htmlRule);
	// 重写规则
	//alert(htmlRule);

	$("#formRule select:first").change(function(){
		var rid = $("#rule").val();
		var htmlCid = "";
		var htmlKeyword = "";
		
		if(rid == 0){ //自定义规则
			$("#cid").empty().append(cats.html());
			$("#keyword").replaceWith(keys);
		}else	
		$.each(data,function(i,n){
			if(n['rid'] == rid){
				$.each(n['cats'], function(j,m){
					htmlCid += "<option value=\""+m['cid']+"\" class=\"optionCat\">"+m['name']+'('+n['rid']+")</option>";
				});
				htmlCid += "<option value=\"\">不限分类</option>";
				$("#cid").empty().append(htmlCid);
				//alert(htmlCid);

				htmlKeyword = "<select name=\"keyword\" id=\"keyword\">";
				$.each(n['tags'],function(j,m){
					htmlKeyword += "<option value=\""+m['name']+"\" class=\"optionKey\">"+m['name']+"</option>";
				});
				htmlKeyword += "<option value=\"\">不限关键字</option></select>";
				$("#keyword").replaceWith(htmlKeyword);
			}
		});
	}); //重写分类关键字

}); //$()
</script>

<script type="text/javascript">
$(document).ready(function(){

	//单个规则采集
	$("#formRule").submit(function(){
		var key = $.trim( $("#keyword").val() );
		var output = '$session = '+ses+"\t\n";
		output += '$rule = '+$("#rule").val()+"\t\n";   //无所谓
		output += '$cid = '+$("#cid").val()+"\t\n";
		output += '$keyword = '+$("#keyword").val()+"\t\n";   //分类和关键字两者必须含有一个
		output += '$sort = '+$("#sort").val()+"\t\n";
		output += '$page_size = '+$("#page_size").val(); //必须小于40的数字,不能为空
		
		if( isNull(ses) )
			alert("SESSIONE为空，请使用OPEN平台入口!");
		else if( isNull($("#cid").val()) && isNull(key) )
			alert("分类和关键字两者必须含有一个!");
		else if( !isInteger($("#page_size").val()) )
			alert("单次查询条数必须是小于40的数字");
		else if( $("#page_size").val() > 40 )
			alert("单次查询条数必须是小于40的数字");
		else {
			alert(output);
			subParams( ses, $("#cid").val(), key, $("#sort").val(), $("#page_size").val() );
		} //ajax

		return false;
	}); //$("#formRule").submit

	//整个规则采集
	$("#iCollection").click(function(){
		var ridCo = $("#rule").val();
		var cidCo = new Array();
		var keyCo = new Array(); 
		if(ridCo == 0){
			$.each(data,function(i,n){
				$.each(n['cats'], function(j,m){
					cidCo.push(m['cid']);
				});
			}); //each
		}else{
			$.each(data,function(i,n){
				if(ridCo == n['rid']){
					$.each(n['cats'], function(j,m){
						cidCo.push(m['cid']);
					});
					$.each(n['tags'],function(j,m){
						keyCo.push(m['name']);
					});
				}
			}); //each
		} //得到组合需要的数据
		//alert(cidCo);
		//alert(keyCo);

		//开始组合
		$.each(cidCo,function(i,n){
			subParams( ses, n, '', $("#sort").val(), $("#page_size").val() );
			if(keyCo.length > 0)
				$.each(keyCo,function(j,m){
					subParams( ses, n, m, $("#sort").val(), $("#page_size").val() );
				}); //each
		}); //each
		//alert("#iCollection"+$("#rule").val());
	}); //$("#iCollection").click

	//整个规则采集
	$("#iCoKeys").click(function(){
		$(data).each(function(i,n){
			//alert(n['rid']+' - '+n['name']);
			$.each(n['tags'],function(j,m){
				subParams( ses, '', m['name'], $("#sort").val(), $("#page_size").val() );
			});
		});
	}); //$("#iCoKeys").click

	
	//AJAX调用
	function subParams(sesP, cidP, keyP, sortP, sizeP){
		if( sortP == 'same' ){
			var st=new Array('default','credit_desc');
		}else
			var st=new Array( sortP );
		$.each(st,function(i,n){
			$.post("bg1.php",{
				session: sesP,
				cid: cidP,
				keyword: keyP,
				sort: n,
				page_size: sizeP,
				action: "getTaobaoke"
			}, function (data, textStatus){
				addMessage(data);
			});
		}); //each
	} //END func subParams
	
	//添加回执信息
	function addMessage(xml){
		$("item",xml).each(function(){
			var title = $("title",this).text();
			var shop = $("shop",this).text();
			htmlMsg = "<span style=\"color:lightblue;font-size:10px;\">【⑦】 </span><span style=\"color:blue;font-size:10px;\">"+title
					+"</span> <span style=\"color:green;font-size:10px;\">"
					+shop+"</span><br />";
			$("#messageWindow").prepend( htmlMsg ); 
			});
	}; //END func addMessage
	
	  // 共用这2个全局的ajax事件
	 $("#loading").ajaxStart(function(){
		   $(this).show();
		 }); 
	 $("#loading").ajaxStop(function(){
		   $(this).hide();
		 }); 
	
}); //$()


function isNull(vehicleid) {
	if(vehicleid == null || vehicleid == undefined || (!vehicleid))
		return true;
	else return false;
}

function isInteger(str) { 
   if(/^(\-?)(\d+)$/.test(str)) return true; 
   else return false; 
} 
</script>
</body></html>